package com.zzl.mine.service.system;

import java.util.List;

import com.zzl.mine.pojo.page.PageData;
import com.zzl.mine.pojo.system.Role;

/**
 * @description 角色接口类
 * @author rambo
 * @date 2018年7月11日 上午9:27:29
 */
public interface RoleService {
	
	/**
	 * @description 列出此组下级角色
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	List<Role> listAllRolesByPId(PageData pd) throws Exception;
	
	/**
	 * @description 列出所有角色
	 * @return
	 * @throws Exception
	 */
	List<Role> listAllRoles() throws Exception;
	
	/**
	 * @description 通过id查找
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	PageData findObjectById(PageData pd) throws Exception;
	
	/**
	 * @description 添加
	 * @param pd
	 * @throws Exception
	 */
	void add(PageData pd) throws Exception;
	
	/**
	 * @description 保存修改
	 * @param pd
	 * @throws Exception
	 */
	void edit(PageData pd) throws Exception;
	
	/**
	 * @description 删除角色
	 * @param ROLE_ID
	 * @throws Exception
	 */
	void deleteRoleById(String ROLE_ID) throws Exception;
	
	/**
	 * @description 给当前角色附加菜单权限
	 * @param role
	 * @throws Exception
	 */
	void updateRoleRights(Role role) throws Exception;
	
	/**
	 * @description 通过id查找
	 * @param roleId
	 * @return
	 * @throws Exception
	 */
	Role getRoleById(String ROLE_ID) throws Exception;
	
	/**
	 * @description 给全部子角色加菜单权限
	 * @param pd
	 * @throws Exception
	 */
	void setAllRights(PageData pd) throws Exception;
	
	/**
	 * @description 添加增权限
	 * @param pd
	 * @throws Exception
	 */
	void saveAddQx(PageData pd) throws Exception;
	
	/**
	 * @description 添加删权限
	 * @param pd
	 * @throws Exception
	 */
	void saveDelQx(PageData pd) throws Exception;
	
	/**
	 * @description 添加改权限
	 * @param pd
	 * @throws Exception
	 */
	void saveEditQx(PageData pd) throws Exception;
	
	/**
	 * @description 添加查权限
	 * @param pd
	 * @throws Exception
	 */
	void saveChaQx(PageData pd) throws Exception;

}
